1. Field of the Invention
The present invention relates to the generation of character images.
2. Description of the Related Art
The spread of portable equipment, such as a cellular phone, a personal digital assistant (PDA) and the like, is remarkable. Therefore, attention is paid to character images displayed on a portable equipment-mounted flat panel type display device used for portable equipment.
Conventionally, in portable equipment, dot font has been used as character to be installed inside beforehand and be displayed since its processing capacity is low. Conventionally, the processing capacity and graphic performance of built-in equipment is low. Therefore, the use of dot font by which a necessary character image can be stored in memory without being processed and be developed on a screen was efficient.
However, character images with a design could not be expressed in a binary image by dot font.
FIG. 1 shows jaggies caused by the change of resolution when using dot font. As shown in FIG. 1, the lower resolution is (the larger the number of dots is), the coarser displayed characters become.
The high liquid crystal device (LCD) panel resolution of a cellular phone in the market is approximately 140 ppi. When displaying characters of approximately 3.5 mille-meters, which can be easily seen on an LCD screen, the size of pixels constituting one character on the above-mentioned panel is approximately 20 dots by 20 dots. The large number of strokes (number of sides) of a Japanese character is approximately 10 to 12. Therefore, when displaying a complex character with a large number of strokes, the character had to be deformed. For example, a part of the character had to be omitted.
Recently, the resolution of an LCD panel used for built-in equipment has exceeded 180 dpi and the number of clocks as the processing capacity of a CPU has increased to 100 to 200 MHz, which is a PC level 10 years ago. Therefore, a graphic library could be made operable. In cellular phones, the demand of character images with a design has increased. Furthermore, with the promotion of a fine screen, the capacity of character images has increased, which has raised a problem of the shortage of memory capacity. In such a situation, recently needs for installing outline font in built-in equipment have increased.
In order to faithfully reproduce a character design, a method for digitalizing curves composing a character and reproducing its character shape according to a supplied character size is generally used. The outline font is used one example of such a method (for example, see Japanese Published Patent Application Nos. 05-019739 and H05-143742).
The outline of the outline font is digitalized as a straight line and an approximate curve. Typical approximation curves include Bezier curve, spline curve and the like. In the case of the Bezier curve, as data, a starting point, an endpoint and several control points for interpolating between them are used. A closed curve can be calculated by using these points and a character image can be generated by painting over the inside of the closed curve.
FIG. 2 shows an example of a character expressed by the functional expression of Bezier curve. As shown in FIG. 2, a Chinese character is composed of a plurality of points and curves between them. As a curve generating method for generating the outline of outline font, a typical Bezier curve generation method is described below.
FIG. 3 is an example of the flowchart showing the reproduction process of Bezier curve reproduced by built-in equipment. FIG. 3 is described with reference to FIGS. 4 and 5. Firstly, the control device in built-in equipment reads the data of predetermined starting point, end point and control points (step 201, hereinafter a step is called “S”).
FIG. 4 explains the functional expression of Bezier curve. Bezier curve is used in PostScript font and the like. A used Bezier function expresses a cubic approximate curve. If it is assumed that the starting point, end point and two control points of the curve are (x1, y1), (x4, y4), and (x2, y2) and (x3, y3), respectively, coordinates on Bezier curve, that is, coordinates (x, y) on a character coordinate system is expressed as follows.X=(1−t)3x1+(1−t)3tX2+3(1−t)t2x3+t3X4  (1)y=(1−t)3y1+(1−t)3ty2+3(1−t)t2y3+t3y4  (2)0≦n t≦1  (3)
FIG. 5 explains the subdivision method of Bezier curve. As shown by equations (1) through (3), coordinates constituting Bezier curve are calculated using t as a parameter. In the actual calculation, each of the starting point, end point and control points of the curve is subdivided and the coordinates of each control point are calculated. Then, each distance between the control points is calculated, and if the distance is less than the pixel size of a display, the calculation terminates. If the distance exceeds the pixel size, the distance is further subdivided and its coordinate position is calculated.
FIG. 5 is described in detail below. Firstly, a starting point, two control points and end point are assumed to be P1, P2, P3 and P4, respectively. By calculating the middle points these points (S202), middle points P5, P6 and P7 can be obtained between P2 and P3, P3 and P4, and PS and P6, respectively. Furthermore, middle points P8, P9 and P10 can be obtained between P5 and P6, P6 and P7, and P8 and P9, respectively.
P10 is used as its end point on the dividing line 1 side, and as its starting point on the dividing line 2 side (S203). Specifically, on the dividing line 1 side, starting point, two control points and end point are P1, P5, P8 and P10, respectively. On the dividing line 2 side, they are P10, P9, P8 and P4, respectively.
Then, the distance (length) between the starting and end points is calculated (S204), and S202 through S204 are repeated until the length drops below the pixel size of a display (S205). In this way, a closed line is sequentially subdivided and the subdivided length is always monitored. Then, when the length drops below the pixel size, the subdivision is suspended.
As described above, in outline font, an outline is formed by several pieces of control point information. Since a personal computer has sufficient processing capacity, time needed to generate a character outline can be minimized up to a level sensed by human being.
The reference literatures of the present invention are shown below.
James D. Foley et al., “Computer Graphics Theory and Practice” Ohm Corporation.
Haruhiko Okumura et al., “Algorithm Encyclopedia by Java”, Technical Criticism Corporation
Satoru Kubota, “Ecology of LCD Display”, Publishing Department, Labor Science Laboratory.
Satoru Kubota, “Character Size, Character Pixel Composition, and Relationship Between Pixel Density and Easiness to Read, of Small Reflective LCD”, Video Information Media Academic Journal, Vol. 55, No. 10, pp. 1363-1366 (October 2001).
Kathryn T. Spoehr and Stephen W. Lehmkuhle, “Information Processing of Visual Angle-Visual-Software of Seeing” translated by Naoyuki Imosake et al., Science Corporation (1986).
However, built-in equipment, such as a cellular phone or the like, has as much processing capacity as a personal computer. For example, the operating frequency of a cellular phone is less than 1/10 of that of a personal computer, and its actual processing capacity is far less that. Therefore, in many cases, the same generation method as a personal computer can display no character image within time needed for human eyes to sense (0.2 seconds), the improvement of whose processing speed is a problem.
Of the outline font generation process, the outline generation process and gradation process take much processing time. The outline generation process must perform the distance calculation of divided lines for the entire outline. The gradation process must also perform the calculation for the entire outline as well as the outline generation process.